#coding:utf8
from email.header import Header

from pyspark.sql import SparkSession
from pyspark.sql.types import StructType, StringType, IntegerType

# 构建DataFrame方法4:通过RDD提供的方法直接创建
if __name__ == '__main__':
    # 构建SparkSession执行环境入口对象
    spark = SparkSession.builder.\
        appName("test").\
        master("local[*]").\
        getOrCreate()

    sc = spark.sparkContext

    rdd = sc.textFile("../data/input/sql/people.txt").\
        map(lambda s: s.split(",")).\
        map(lambda x:(x[0], int(x[1])))

    # 1.通过RDD的方法快捷转换,转换出来的数据类型未定义
    rdd.toDF().show()

    # 2.设置schema来定义df的数据类型
    schema = StructType().add('name', StringType(), nullable=False). \
        add('age', IntegerType(), nullable=False)
    rdd.toDF(schema).show()